맨위로가기

버퍼 (컴퓨터 과학)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

버퍼(컴퓨터 과학)는 컴퓨터 시스템에서 데이터의 전송 속도나 처리 속도 차이를 보완하기 위해 데이터를 임시로 저장하는 메모리 영역을 의미한다. 초창기 컴퓨터에서 출력 장치의 속도 문제를 해결하기 위해 사용되었으며, 디스크 드라이브, 네트워크, 사운드 재생 등 다양한 하드웨어 및 소프트웨어 분야에서 활용된다. 버퍼는 데이터 흐름의 원활함을 유지하고, 애플리케이션의 성능을 향상시키는 데 기여하며, FIFO(선입선출) 방식으로 데이터를 처리하는 경우가 많다. 또한 디지털 회로에서 신호의 시간 차이를 조절하거나, 전기 신호의 정형 및 증폭을 위해 사용되기도 한다.

더 읽어볼만한 페이지

  • 동기화 - 세마포어
    세마포어는 데이크스트라가 고안한 정수 변수로, P/V 연산을 통해 자원 접근을 제어하고 동기화 문제를 해결하며, 계수 세마포어와 이진 세마포어로 나뉘어 멀티스레드 환경에서 자원 관리 및 스레드 동기화에 기여한다.
  • 동기화 - 동기화 (컴퓨터 과학)
    동기화는 컴퓨터 과학에서 다중 프로세스 또는 스레드가 공유 자원에 접근할 때 발생하는 문제를 해결하기 위한 기술이며, 경쟁 조건 방지 및 데이터 일관성 유지를 위해 세마포어, 뮤텍스 등의 메커니즘을 통해 구현된다.
  • 컴퓨터 메모리 - 플래시 메모리
    플래시 메모리는 전기적으로 데이터의 쓰기 및 삭제가 가능한 비휘발성 메모리 기술로, 마스오카 후지오 박사가 발명하여 카메라 플래시와 유사한 소거 방식으로 인해 명명되었으며, NOR형과 NAND형으로 나뉘어 각기 다른 분야에 적용된다.
  • 컴퓨터 메모리 - 메모리 계층 구조
    메모리 계층 구조는 CPU 데이터 접근 속도 향상을 위해 레지스터, 캐시, RAM, 보조 기억 장치 등으로 구성되며, 속도, 용량, 비용이 다른 계층들을 통해 효율적인 메모리 관리를 가능하게 한다.
버퍼 (컴퓨터 과학)
일반 정보
데이터 버퍼 다이어그램
데이터 버퍼의 다이어그램
유형컴퓨터 과학
관련 주제버퍼링
데이터 스트림
데이터 전송
임시 기억 장치
특성
목적데이터 전송 속도 차이 조정
데이터 크기 또는 주소 변경
데이터 복사 또는 재배치
작동 방식데이터를 임시로 저장하고, 전송 또는 처리를 위해 검색
구현하드웨어 버퍼 (FIFO, 메모리 칩)
소프트웨어 버퍼 (배열, 연결 리스트)
장점
데이터 전송 효율성데이터 전송 속도 향상 및 시스템 성능 개선
시스템 안정성데이터 손실 방지 및 오류 처리 능력 향상
단점
추가 메모리 필요버퍼를 위한 추가 메모리 공간 필요
지연 시간 발생 가능성데이터가 버퍼에 저장되는 동안 지연 시간 발생 가능

2. 역사

버퍼의 초기 개념은 1952년 SEAC 컴퓨터의 화상 처리 선구자인 러셀 A. 커쉬(Russell A. Kirsch)가 고안한 "Outscriber"에서 찾을 수 있다.[6] Outscriber는 계산 결과를 기계 외부로 빠르게 출력하여 연산 지연을 방지하기 위한 장치였다. 자기 기록 장치를 사용하여 전자 타자기보다 최대 100배 빠른 속도로 정보를 수신할 수 있었다. 따라서 출력된 데이터를 기록할 때 더 나은 효율성을 달성할 수 있었으며, 메인 컴퓨터에 묶여있지 않고도 자기 기록 장치에서 인쇄 장치로 나중에 표기가 가능했다.[2]

3. 응용 분야

버퍼는 입출력과 함께 컴퓨터 하드웨어에 사용되는 경우가 많으며, 디스크 드라이브에서 데이터를 주고받거나, 컴퓨터 네트워크에서 데이터를 주고받거나, 스피커로 소리를 재생할 때 사용된다. 놀이공원롤러코스터 대기열과 유사한 점이 많다. 롤러코스터를 타려는 사람들은 불규칙한 속도로 오지만, 롤러코스터는 일정한 간격으로 사람들을 태울 수 있다. 대기 구역은 사람들이 놀이기구를 탈 수 있을 때까지 기다리는 임시 공간으로, 버퍼 역할을 한다. 버퍼는 일반적으로 FIFO (선입선출) 방식으로 사용되며, 데이터가 도착한 순서대로 데이터를 출력한다.

통신에 사용되는 서브루틴이나 데이터 저장 장치 기록 매체인 버퍼는 데이터를 한 장치에서 다른 장치로 전송할 때 데이터 흐름 속도 또는 이벤트 발생 시간의 차이를 보상한다.

완충 장치는 기계적인 메커니즘으로는 구조물을 통해 전후 물리적 간섭을 차단하여 악영향을 방지하는 목적으로 사용되었지만, 전기 및 전자 분야 등의 발전으로 이러한 분야에서도 "완충"이 사용되고 있다. 이러한 분야에서는 흡수를 통한 완충 대신, 전후의 상호 간섭으로 인한 악영향을 격리하거나, 시간적 차이를 보정하는 지연 또는 임시 기억 등, 정합성을 도모하여 모순을 해결하는 기능 및 수단으로 사용되며, 이를 완충이라고 부른다.

3. 1. 하드웨어

하드웨어 버퍼는 다음과 같은 용도로 사용된다.

  • 서로 다른 속도로 작동하는 두 개의 디지털 데이터 회로를 상호 연결한다.[1]
  • 나중에 사용할 데이터를 보관한다.[1]
  • 하드 디스크 드라이브, 솔리드 스테이트 드라이브 또는 BD/DVD/CD 드라이브의 통합 디스크 버퍼에 사용된다.[1]
  • 이더넷 어댑터의 통합 SRAM 버퍼에 사용된다.[1]
  • 비디오 카드의 프레임 버퍼에 사용된다.[1]
  • 직렬 포트(UART)와 모뎀 사이의 버퍼로 사용된다. COM 포트의 속도는 38400 bit/s일 수 있지만 모뎀의 반송파는 14400 bit/s일 수 있다.[1]
  • CONFIG.SYSDOS에서 사용되는 BUFFERS 명령/구문에 사용된다.
  • 디지털 기기에서 보조 기억 장치 등의 입출력 장치와 CPU, 제어 장치 등의 내부 처리 장치 간에 신호를 주고받을 때, 입출력과 처리 간의 시간 차이를 흡수·조정하기 위해 정보를 일시적으로 저장하는 장치 또는 기억 영역으로 사용된다.[5]
  • MS-DOS의 섹터 버퍼 영역
  • 1980년대 마이콘 공업(주)에서 출시한 프린터 버퍼 (DEB-006, -012, -024) 및 (주)아이이에스에이에서 출시한 프린터 버퍼 (HS-2900)


1980년대 프린터 버퍼
제조사제품명용량가격
마이콘 공업(주)DEB-0066K 문자139000JPY
마이콘 공업(주)DEB-01212K 문자169800JPY
마이콘 공업(주)DEB-02424K 문자229800JPY
(주)아이이에스에이HS-290062KB68000JPY


3. 2. 소프트웨어

버퍼는 파일 읽기 또는 쓰기와 같은 동기 작업을 빠르게 완료할 수 있도록 하여 애플리케이션 성능을 향상시킨다. 하드웨어 인터럽트가 물리적 디스크 하위 시스템에 접근하기를 기다리는 동안 블로킹되지 않기 때문이다. 대신 운영 체제는 API 호출에서 즉시 성공적인 결과를 반환하여 애플리케이션이 커널이 백그라운드에서 디스크 작업을 완료하는 동안 계속 처리할 수 있도록 한다. 애플리케이션이 디스크 하위 시스템의 블록 크기에 해당하지 않는 작은 데이터 블록을 읽거나 쓰는 경우 추가적인 이점을 얻을 수 있다. 버퍼를 사용하여 여러 개의 작은 읽기 또는 쓰기 작업을 디스크 하위 시스템에 더 효율적인 블록 크기로 집계하거나, 읽기의 경우 물리적으로 디스크에 접근하지 않아도 되는 경우가 있기 때문이다.

4. 전자 장치에서의 시간적 완충 회로

디지털 기기에서 보조 기억 장치 등의 입출력 장치와, CPU, 제어 장치 등의 내부 처리 장치 간에 신호를 주고받을 때, 입출력과 처리 간의 시간 차이를 흡수·조정하기 위해 정보를 일시적으로 저장하는 장치 또는 기억 영역을 말한다[5]

자료 구조적으로는 큐나 스택과 같이 정보를 일시적으로 저장하는 기억 영역 등을 "버퍼 영역"이라고 부르는 경우가 많다.

예를 들어 다음과 같은 것들이 있다.


  • 범용 로직 IC 등에서의 1비트에서 수 비트 단위의 시간 차이 흡수(버퍼링)
  • 비디오 카드의 프레임 버퍼
  • 하드 디스크 드라이브의 드라이브 (트랙) 버퍼 영역
  • MS-DOS의 섹터 버퍼 영역
  • 프린터 버퍼 (1980년대에는, 마이콘 공업(주)에서 버퍼 용량 6K, 12K, 24K 문자에 따라 프린터 버퍼 DEB-006, -012, -024를 각각 139000JPY, 169800JPY, 229800JPY으로 출시되었고, (주)아이이에스에이에서 용량 62Kbyte의 프린터 버퍼 HS-2900이 68000JPY에 출시되었다.)
  • 인터넷상의 스트리밍 배포의 버퍼 영역

5. 전기 신호의 정형 및 증폭 회로


  • 버스 버퍼: 컴퓨터 내부 배선에서의 정형 및 증폭 회로
  • 트라이 스테이트 버퍼: "0", "1", 하이 임피던스의 3가지 출력 상태를 가지는 디지털 신호의 정형 및 증폭 회로

6. 슬립(Slip)

펄스 열의 일부가 소실되거나 중복 전송되는 현상이다. 일반적으로 수신된 신호의 위상 변동을 위상 동기용 버퍼 메모리로 흡수할 수 없는 경우에 발생한다.

참조

[1] PDF https://www.intel.co[...]
[2] 간행물 SEAC Maintenance Manual: The Outscriber https://web.archive.[...] 1953-07
[3] 웹사이트 外来語の表記 留意事項その2(細則的な事項) https://www.bunka.go[...] 文化庁 1991-06-28
[4] 문서 JIS規格
[5] 서적 bit 単語帳 共立出版 1990-08-15
[6] 저널 SEAC Maintenance Manual: The Outscriber http://www.nist.gov/[...] 1953-07



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com